100 '
110 'One-Line BASIC Programs
120 '
125 COMMON RH: IF RH=0 THEN SYSTEM
130 CLEAR: KEY (17) ON
140 KEY 17, CHR$(0)+CHR$(1)
150 ON KEY (17) GOSUB 510
155 ON ERROR GOTO 510
160 SCREEN 0: WIDTH 80: COLOR 14,1,1: CLS: KEY OFF: LOCATE 4,20,0: PRINT "Which One-Liner Will You Examine?": RANDOMIZE TIMER
170 LOCATE 6,25: PRINT "1 ... Rocket Dodge": LOCATE 8,25: PRINT "2 ... Road Race": LOCATE 10,25: PRINT "3 ... Depth Charge": LOCATE 12,25: PRINT "4 ... Keyboard Organ": LOCATE 14,25: PRINT "5 ... String Art"
180 LOCATE 16,25: PRINT "6 ... Fortune Teller": LOCATE 18,25: PRINT "7 ... Return to Main Menu": LOCATE 20,20: PRINT "Type the <NUMBER> of your selection.": LOCATE 22,20: PRINT "(Press <ESC> to return to this menu)": A$=INKEY$
190 A$=INKEY$: IF A$="1" THEN 240 ELSE IF A$="2" THEN COLOR 7,0,0: CLS: GOTO 290 ELSE IF A$="3" THEN 340 ELSE IF A$="4" THEN CLS: GOTO 390
200 IF A$="5" THEN GOTO 430 ELSE IF A$="6" THEN CLS: COLOR 2,0,0: CLS: GOTO 470 ELSE IF A$="7" THEN CLS: LOCATE 12,28: PRINT "One moment please...": RUN "MENU" ELSE 190
210 '
220 'Rocket Dodge Game, Use Comma and Period Keys
230 '
240 CLS:FOR A=1 TO 1e4:A$=INKEY$:B=(A$=",")-(A$="."):C=B+D+30:LOCATE 10,C:E=SCREEN(10,C):IF E=25 OR E=32 THEN PRINT CHR$(25);:LOCATE 24,15:PRINT CHR$(176);TAB(16+RND(1)*31);CHR$(15);TAB(48);CHR$(176),A:D=B+D:NEXT ELSE COLOR 23:PRINT"X";:COLOR 7:LOCATE 23
250 FOR A=1 TO 3000: NEXT A: GOTO 130
260 '
270 'Road Race Game, Use Comma and Period Keys
280 '
290 CLS:C=40:R=35:FOR S=1 TO 999:R=R+INT(RND(1)*3)-(R=1)+(R=69)-1:LOCATE 24,R:COLOR,1:PRINT SPC(10);:COLOR,0:PRINT:A$=INKEY$:C=C+(A$=",")-(A$="."):IF SCREEN(23,C,1)<>7 THEN LOCATE 23,C:PRINT"X";:SOUND 2e4,1:NEXT ELSE NOISE 6,15,30:PRINT"Score:";S
300 FOR A=1 TO 2000: NEXT A: GOTO 130
310 '
320 'Depth Charge Game, Press Any Key to Drop Charge
330 '
340 CLS:PRINT"Score =";S:LOCATE 22,39:PRINT"] [":FOR B=2 TO 79:LOCATE 3,B-1:PRINT" X";:IF INKEY$<>" "THEN FOR A=1 TO 8:NEXT A,B:GOTO 340 ELSE FOR A=4 TO 22:LOCATE A,B:PRINT".";:NEXT:S=S-SGN(ABS(B-40)-1)+1:BEEP:FOR B=1 TO 1e3:NEXT B:C=C+1:IF C<10 THEN 340
350 FOR A=1 TO 2000: NEXT A: GOTO 130
360 '
370 'Keyboard Organ Music Maker
380 '
390 A$=INKEY$:IF A$="" THEN 390 ELSE A=(ASC(A$) AND 95) OR 64:B=A-INT(A/7)*7+63:PLAY "MF L16 O"+STR$(INT((A+3)/7)-8)+" "+CHR$(B-7*(B<65)):GOTO 390
400 '
410 'String Art Display
420 '
430 SCREEN 1:COLOR RND(1)*8:CLS:A=100:FOR B=0 TO 100 STEP 5:A=A+(RND(1)>.5)*(A-INT(RND(1)*200)):C=200-A:LINE (B+60,100)-(C+60,C):LINE-(160,B):LINE-(A+60,C):LINE-(260-B,100):LINE-(A+60,A):LINE-(160,200-B):LINE-(C+60,A):LINE-(B+60,100):NEXT:GOTO 430
440 '
450 'Fortune Teller
460 '
470 DEF FNR(X)=INT(RND(1)*X+1):LINE INPUT"Enter yes or no question: ";Q$:CLS:FOR A=1 TO 20:COLOR FNR(8):LOCATE FNR(24),FNR(80):PRINT"?";:SOUND FNR(999),3:NEXT:CLS:PRINT"Q: "Q$:PRINT"A: "MID$("Yes!   No!    Maybe  I Dunno",FNR(4)*7-6,7):PRINT:GOTO 470
480 '
490 'Escape Key Returns to This Program's Menu
500 '
510 GOTO 130
